(* TMA.PAS ---------------------------------------------------------------------

----------------------------------------------------------------------------- *)

UNIT TMA;

{$IFDEF Overlay}
{$F+}
{$O+}
{$ENDIF}

INTERFACE

USES Strg,
     CRT,
     EIO,
     WND;

CONST

{$IFDEF Demo}
   Version = '1.30d';
{$ELSE}
   Version = '1.31';
{$ENDIF}

   VersionNumber = 13;

PROCEDURE TMALogo;
PROCEDURE AboutAnacreon;

IMPLEMENTATION

CONST
   Logo: ARRAY [1..7] OF LineStr =
      ( ' ÛßßßßßÛÛßßßßßÛ ßßÛÛÜ         ÛÛßß         Û        ',
        ' ß     ÛÛ     ß   ÛÛÛÜ       ÛÛÛ          ÛÛÛ       ',
        '       ÛÛ         Û ÛÛÜ     Û ÛÛ         Û ßÛÛ      ',
        '       ÛÛ         Û  ÛÛÜ   Û  ÛÛ        Û   ßÛÛ     ',
        '       ÛÛ         Û   ÛÛÜ Û   ÛÛ       ÛÜÜÜÜÜÛÛÛ    ',
        '       ÛÛ         Û    ÛÛÛ    ÛÛ      Û       ßÛÛ   ',
        '     ÜÜÛÛÜÜ     ÜÜÛÜ    Û   ÜÜÛÛÜÜ ÜÜÛÜ      ÜÜÛÛÛÜÜ' );

PROCEDURE TMALogo;
{ TMALogo:
   This procedure clear the screen and displays the TMA logo. }

   VAR
      Len: Byte;
      i,j: Byte;
      Line: ARRAY [1..7] OF LineStr;
      Ch: Char;

   BEGIN
   ClrScr;
   SetCursor(NoCursor);

   Len:=Length(Logo[1]);
   FOR i:=1 TO 7 DO
      Line[i]:='';

   FOR i:=Len-1 DOWNTO 1 DO
      BEGIN
      FOR j:=1 TO 7 DO
         BEGIN
         Line[j]:=Logo[j][i]+Line[j];
         WriteString(Line[j],1,6+j,Red);
         END;
      END;

   FOR i:=1 TO 13 DO
      FOR j:=1 TO 7 DO
         WriteString(Logo[j],i,6+j,Red);

   WriteString('Presents',36,20,LightCyan);

   Wait(5,Ch);
   SetCursor(UnderlineCursor);
   ClrScr;
   END;  { TMALogo }

PROCEDURE AboutAnacreon;
   VAR
      Wind: WindowHandle;
      Ch: Char;

   BEGIN
   OpenWindow(1,2,80,23,NoBRD,'',C.AboutWind,7,Wind);
   WriteString('           þÛÛþ              ANACREON: Reconstruction 4021  ver '+Version,1,1,C.AboutWind);
   WriteString('            ÞÝ                     Released September 24, 2003',1,2,C.AboutWind);
   WriteString('            ±±                  ',1,3,C.AboutWind);
   WriteString('            ±±               After thirteen years, Anacreon has finally',1,4,C.AboutWind);
   WriteString('            ±±               been resurrected!  Thanks to George Moromisato',1,5,C.AboutWind);
   WriteString('      Þ    Ü±±Ü    Ý         for releasing the source code, and for his genius',1,6,C.AboutWind);
   WriteString('      ÞßßÛÛ±²Û²ÛÛßßÝ         in creating the game in the first place.',1,7,C.AboutWind);
   WriteString('            ÝÛ               ',1,8,C.AboutWind);
   WriteString('           ÜÜÜÜÜ             In version 1.31, the following long-standing',1,9,C.AboutWind);
   WriteString('      ÜÜ°±±±±²²²ÛÛÛÜÜ        bugs have been fixed:',1,10,C.AboutWind);
   WriteString('   °°°°°°°±±±±±±²²ÛÛÛÛÛÜ',1,11,C.AboutWind);
   WriteString('  °°°°°°°±°±±±±±±±²²ÛÛÛÛÜ       - Any unnamed Fleet240 or Enemy240 was unview-',1,12,C.AboutWind);
   WriteString(' °°°°°°°°°°±°±±±±²±²²ÛÛÛÛÝ         able except through the F5 screen',1,13,C.AboutWind);
   WriteString(' °°°°°°°°°°°±±±±±±±²±²ÛÛÛÛ      - Advanced ships (eg. starships) were allowed',1,14,C.AboutWind);
   WriteString(' Þ°°°°°°°°°°±°±±±±²±²²ÛÛÛÝ         to defend a planet, making the planet',1,15,C.AboutWind);
   WriteString('  °°°°°°°°°°°°°±±±±±²²ÛÛß          unconquerable.',1,16,C.AboutWind);
   WriteString('   °°°°°°°°°°°±±±±²²²ÛÛß     ',1,17,C.AboutWind);
   WriteString('      ß°°°°°°°°±²²²ßß        Check out the Ardreil: Anacreon Reconstruction',1,18,C.AboutWind);
   WriteString('           ßßßß              project at sourceforge.net/projects/ardreil/ for',1,19,C.AboutWind);
   WriteString('            ÝÛ               information on a network-aware Anacreon game',1,20,C.AboutWind);
   WriteString('            ÝÛ               ',1,21,C.AboutWind);
   WriteString('            ÝÛ                  Report bugs to Adam Luker (zot@aapc.com)',1,22,C.AboutWind);
   WriteString('            ÝÛ',1,23,C.AboutWind);

   GetChoice(AnyKey,NoCaseDistinct,Ch);
   CloseWindow;
   OpenWindow(1,2,80,23,NoBRD,'',C.AboutWind,7,Wind);
   WriteString('',1,1,C.AboutWind);
   WriteString('',1,2,C.AboutWind);
   WriteString('  Legal stuff:',1,3,C.AboutWind);
   WriteString('',1,4,C.AboutWind);
   WriteString('  Based in part on Anacreon: Reconstruction 4021',1,5,C.AboutWind);
   WriteString('  copyright (c) 1988-2003 George Moromisato.',1,6,C.AboutWind);
   WriteString('  All rights reserved.',1,7,C.AboutWind);
   WriteString('',1,8,C.AboutWind);
   WriteString('  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"',1,9,C.AboutWind);
   WriteString('  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE',1,10,C.AboutWind);
   WriteString('  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE',1,11,C.AboutWind);
   WriteString('  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE',1,12,C.AboutWind);
   WriteString('  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR',1,13,C.AboutWind);
   WriteString('  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF',1,14,C.AboutWind);
   WriteString('  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS',1,15,C.AboutWind);
   WriteString('  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN',1,16,C.AboutWind);
   WriteString('  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)',1,17,C.AboutWind);
   WriteString('  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE',1,18,C.AboutWind);
   WriteString('  POSSIBILITY OF SUCH DAMAGE.',1,19,C.AboutWind);
   WriteString('',1,20,C.AboutWind);
   WriteString('',1,21,C.AboutWind);
   WriteString('  (Of course, this game isn''t really just "based in part on" Anacreon. :)',1,22,C.AboutWind);
   WriteString('',1,23,C.AboutWind);

   GetChoice(AnyKey,NoCaseDistinct,Ch);
   CloseWindow;

   END;  { AboutAnacreon }

END.
